

#Iterator和Iterable的区别

'''
    iterable
    all(obj)
    obj的类型必须是 iterable
'''

all(['a', 'b', 'c', 'd'])  #列表list，元素都不为空或0
True
all(('a', 'b', 'c', 'd'))  #元组tuple，元素都不为空或0
True
all([]) # 空列表
True
all(()) # 空元组
True
all(['a', 'b', '', 'd'])  #列表list，存在一个为空的元素
False
all(('a', 'b', '', 'd'))  #元组tuple，存在一个为空的元素
False
all((0, 1,2, 3))  #元组tuple，存在一个为0的元素
False
all([0, 1,2, 3])  #列表list，存在一个为0的元素
False

def demo1(num):
    for x in num:
        yield x;

print(all(iter(['a', 'b', '', 'd'])))
temp1 = iter(['a', 'b', '', 'd']);
print(type(temp1))
print(temp1.__next__())    #输出：a
print(temp1.__next__())    #输出：b









